import axios from 'axios'
import qs from 'querystring'
import { Toast } from "antd-mobile"

// 请求拦截
axios.interceptors.request.use(config => {
    if (config.url !== "/api/login" && config.url !== "/api/register") {
        // 携带请求头
        config.headers.authorization = JSON.parse(sessionStorage.getItem('info')).token
    }
    return config;
})

// 响应拦截
axios.interceptors.response.use(res => {
    // 统一打印
    console.group('本次请求的地址是：' + res.config.url)
    console.log(res);
    console.groupEnd()

    // 失败处理
    if (res.data.code !== 200) {
        Toast.fail(res.data.msg, 1);
    }

    return res
})

/**
 * 
 * @param {*} url 请求路径
 * @param {*} params 请求参数集合 默认{}
 * @returns  axios
 */

// 封装get请求
export function get(url, params = {}) {
    return axios({
        url,
        params,
        method: 'get'
    })
}

/**
 * 
 * @param {*} url 请求地址
 * @param {*} params 请求参数 默认是{}
 * @param {*} isFile 是否是有文件 是true,不是false.默认false
 * @returns  axios
 */
// 封装post请求
export function post(url, params = {}, isFile = false) {
    let data = null;
    if (isFile) {
        data = new FormData()

        //params={a:1,b:2,c:3}  ["a","b","c"]
        Object.keys(params).forEach(key => {
            data.append(key, params[key])
        })
    } else {
        data = qs.stringify(params)
    }
    return axios({
        url,
        data,
        method: "post"
    })
}